# 人生重开模拟器
import random
import sys
import time

print('-----------------------------------------')
print('|                                       |')
print('|          花有重开日，人无再少年           |')
print('|                                       |')
print('|          欢迎来到, 人生重开模拟器         |')
print('|                                       |')
print('-----------------------------------------')


while True:
    print('请输入属性的初始值(总和为20)')
    face = int(input('输入颜值（1-10）：'))
    strong = int(input('输入体质（1-10）：'))
    iq = int(input('输入颜智力（1-10）：'))
    home = int(input('输入家境（1-10）：'))

    # 通过条件语句，对于用户输入的属性做出校验检查
    if face < 1 or face > 10:
        print('颜值设置有误')
        continue
    if strong < 1 or strong > 10:
        print('体质设置有误')
        continue
    if  iq < 1 or iq > 10:
        print('智力设置有误')
        continue
    if  home < 1 or home > 10:
        print('家境设置有误')
        continue
    if face + strong + iq + home >20:
        print('总的属性和超过20了！！！')
        continue

    # 倘若以上输入都正确，则结束循环
    print('初始化完成！！！')
    print(f'face = {face},strong = {strong},iq = {iq},home = {home}')
    break

# 生成角色的性别
# 使用 random.randint（beg，end），就能生成 [beg，end] 随机整数
# 这里的ranodm是左闭右闭
point = random.randint(1,10)
# print(f'point = {point}')
if point % 2 == 1:
    gender = 'boy'
    print('你是个男孩')
else:
    gender = 'girl'
    print('你是个女孩')


# 设定角色的出生点
# 盘为了简单，就直接生成1-3的随机数
point = random.randint(1,3)
if home == 10:
    # 1
    print('你出生在帝都，你的父母是高官政要')
    home += 1
    iq += 1
    face += 1
elif 7 <= home <= 9:
    # 2
    if point == 1:
        print('你出生在大城市，你的父母是公务员')
        face += 2
    elif point == 2:
        print('你出生在大城市，你的父母是企业高管')
        home += 2
    else:
        print('你出生在大城市，你的父母是大学教授')
        iq += 2
elif 4 <= home <= 6:
    #     3
    if point == 1:
        print('你出生在镇上，你的父母是医生')
        strong += 1
    elif point == 2:
        print('你出生在镇上，你的父母是老师')
        iq +=1
    else:
        print('你出生在镇上，你的父母是个体户')
        home += 1
else:
    # 4
    if point == 1:
        print('你出生在农村，你的父母是农民')
        strong += 1
        face -= 2
    elif point == 2:
        print('你出生在农村，你的父母是无业游民')
        home -= 1
    else:
        print('你出生在农村，你的父母感情不和')
        strong -= 1
print(f'颜值：{face}，体质：{strong}，智力：{iq}，家境：{home}')

# ---------------------------------------------------------------------
#幼年阶段
for age in range(1, 11):
    #把一整年的打印都整理到个字符串中，在这一年的结尾统一打印
    info =f'你今年{age}岁'
    #生成一个[1，3]的随机整数
    point=random.randint(1,3)
    #接下来编写各种事件的代码
    # 性别触发事件
    if gender == 'girl':
        info += '你的父怒重男轻女，把你遗弃了。'
        print(info)
        sys.exit(0)
# 体质触发事件
    elif strong < 6 and point < 3:
        info += '你生了一场大病'
        if home >= 5:
            info += '你在父母的悉心照料下，恢复健康'
            strong += 1
            home -= 1
        else:
            info += '你的父母忙于工作，无暇照顾你，你的身体更糟糕了！'
            strong -= 1
 # 颜值触发事件
    elif face <= 4 and age >= 7:
        info += '你长得太丑了，因此没有朋友'
        if iq > 5:
            info += '你决定用学习逆袭'
            iq +=1
        else:
            if gender == 'boy':
                info +='你经常和小朋友打架'
                strong += 1
                iq -= 1
            else:
                info += '你经常被小朋友欺负'
                strong -= 1

# 智商触发事件
    elif iq < 5:
        info += '你不是很聪明'
        # 如果家庭条件好
        if home >= 8 and age >= 6:
            info += '你的父母将你送去最好的学校学习'
            iq += 1
        #如果家庭条件不好
        elif 4 <= home <= 7 and age >= 6 :
            if gender == 'boy':
                info += '多运动，准备去体校'
                strong += 1
            else:
                info += '父母希望你多打扮自己'
                face += 1
        # 如果家庭条件特别差
        else:
            info += '你的父母总是因为你的基因吵架'
            if point == 1:
                strong -= 1
            elif point  == 2:
                iq -= 1
            else:
                pass
    # 健康成长事件
    else:
        info += '你健康成长'
        if point == 1:
            info += '你看起来更强壮了。'
            strong += 1
        elif point == 2:
            info += '你看起来更好看了。'
            face += 1
        else:
            pass
    #打印这一年的变化
    print(info)
    print(f'颜值：{face}，体质：{strong}，智力：{iq}，家境：{home}')
    print('---------------------------------------------------------')
    # 让程序暂停1秒
    time.sleep(5)